import weixin from 'weixin-js-sdk'

interface ExeWxConfigParam {
  timestamp: string
  nonceStr: string
  signature: string
  appId: string
  rawString: string
  success: Function
  error: Function
}

// 获取微信认证（禁止业务代码）
export const useWxSdk = () => {
  const exeWxConfig = async (param = {} as ExeWxConfigParam) => {
    const { timestamp, nonceStr, signature, appId, rawString, success, error } = param

    weixin.config({
      debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
      appId, // 必填，企业号的唯一标识，此处填写企业号corpid
      timestamp, // 必填，生成签名的时间戳
      nonceStr, // 必填，生成签名的随机串
      signature, // 必填，签名
      jsApiList: [
        'hideAllNonBaseMenuItem',
        'hideMenuItems',
        'updateAppMessageShareData',
        'getLocation',
        'onMenuShareAppMessage',
      ], // 必填，需要使用的JS接口列表
      openTagList: ['wx-open-launch-weapp'],
    })
    weixin.ready(() => {
      console.log('成功', param)
      success()
    })

    weixin.error(function (err: any) {
      console.log('出错', err)
      error(err)
    })
  }

  return {
    exeWxConfig,
  }
}
